1. Field of the Invention
The present invention relates to a system for optimizing database replication/synchronization.
2. Related Art
Database replication is a process for synchronizing data updates between databases in different locations. Database replication includes transferring updates between servers so that two or more copies of the database remain synchronized. Each copy of the database is called a replica, and each contains a common set of documents (Tables, views, forms, reports, macros, and modules). Database servers can exchange updates of data or replicable objects to keep replicas synchronized. This exchange is called replication. Database replications allow users at different locations to work on their own copy and share and synchronize their changes. In the case of an application for multiple users, database replication can improve the way users share data.
Each member of the replica set contains a common set of replicable objects. Each replica can also contain local objects, in other words, objects that are synchronized during replication and objects that remain on the local computer and are not replicated. This allows one copy of a database to be customized for a specific group or users while still synchronizing common data with other members in the replica set.
Replication is common for accessing data, wherein a replica of a database on a remote computer connects a server computer so that synchronization of changes made to the replica on the remote computer can be made with changes on a database. One traditional approach to replication/synchronization would be to create a single database that contains both the data and the objects, and then make replicas of the database for each computer.
Although database replication can solve many of the problems inherent in distributed-database processing, current replication techniques require improvement due to inherent inefficiencies. For example, the replication can be time consuming and costly in cases where there are a large number of updates where the updates consist of a transformation of the replicable objects (an example of a transform would be to convert the object into a compressed format), or applications that require frequent updates of existing records in different replicas are likely to have more record conflicts than applications that simply insert new records in a database, or applications with many record conflicts require more administrative time because the conflicts must be resolved manually.
What is needed is an improved replication/synchronization process which decreases the computer usage time and cost. The present invention fulfills this and other needs.